package com.marvels.loanapply.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.github.pagehelper.Page;
import com.marvels.common.dto.BasicDataDTO;
import com.marvels.common.exception.MarvelsBusinessException;
import com.marvels.loanapply.dto.LoanInvestmentInfoDTO;

public interface LoanBasicDataDao {
	/**
	 * 查询产品用途列表
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<BasicDataDTO> selectPurposeList();
	
	/**
	 * 查询缴费方式列表
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<BasicDataDTO> selectPaymentModeList();
	
	/**
	 * 查询寿险类型列表
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<BasicDataDTO> selectLifeInsuranceTypeList();
	
	/**
	 * 查询保单类型列表
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<BasicDataDTO> selectInsuranceTypeList();
	
	/**
	 * 查询保单状态列表
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<BasicDataDTO> selectInsuranceStatusList();
	
	/**
	 * 查询保险公司列表
	 * @return
	 * @throws MarvelsBusinessException
	 */
	public List<BasicDataDTO> selectInsuranceCompanyList();
	
	/**
	 * 查询基表数据
	 * @param columns 字段名
	 * @param tableName 表名
	 * @return
	 */
	public Page<BasicDataDTO> selectBasicDataList(@Param("columns") List<String>columns,@Param("tableName") String tableName);
	
	public Page<LoanInvestmentInfoDTO> selectLoanInvestmentList();

}
